Truly stateless, optimal dynamic partial order reduction
نویسندگان
چکیده
Dynamic partial order reduction (DPOR) verifies concurrent programs by exploring all their interleavings up to some equivalence relation, such as the Mazurkiewicz trace equivalence. Doing so involves a complex trade-off between space and time. Existing DPOR algorithms are either exploration-optimal (i.e., explore exactly only interleaving per class) but may use exponential memory in size of program, or maintain polynomial consumption potentially exponentially many redundant interleavings. In this paper, we show that it is possible have best both worlds: one class with linear consumption. Our algorithm, TruSt, formalized Coq, applicable not sequential consistency, also any weak model satisfies few basic assumptions, including TSO, PSO, RC11. addition, TruSt embarrassingly parallelizable: its different exploration options no shared state, can therefore be explored completely parallel. Consequently, outperforms state-of-the-art terms and/or
منابع مشابه
Quasi-Optimal Partial Order Reduction
A dynamic partial order reduction (DPOR) algorithm is optimal when it always explores at most one representative per Mazurkiewicz trace. Existing literature suggests that the reduction obtained by the non-optimal, state-of-the-art Source-DPOR (SDPOR) algorithm is comparable to optimal DPOR. We show the first program with O(n) Mazurkiewicz traces where SDPOR explores O(2 n) redundant schedules a...
متن کاملScalable Dynamic Partial Order Reduction
Systematic testing, first demonstrated in small, specialized cases 15 years ago, has matured sufficiently for large-scale systems developers to begin to put it into practice. With actual deployment come new, pragmatic challenges to the usefulness of the techniques. In this paper we are concerned with scaling dynamic partial order reduction, a key technique for mitigating the state space explosi...
متن کاملDynamic Partial Order Reduction Using Probe Sets
We present an algorithm for partial order reduction in the context of a countable universe of deterministic actions, of which finitely many are enabled at any given state. This means that the algorithm is suited for a setting in which resources, such as processes or objects, are dynamically created and destroyed, without an a priori bound. The algorithm relies on abstract enabling and disabling...
متن کاملContext-Sensitive Dynamic Partial Order Reduction
Dynamic Partial Order Reduction (DPOR) is a powerful technique used in verification and testing to reduce the number of equivalent executions explored. Two executions are equivalent if they can be obtained from each other by swapping adjacent, non-conflicting (independent) execution steps. Existing DPOR algorithms rely on a notion of independence that is context-insensitive, i.e., the execution...
متن کاملEfficient Stateful Dynamic Partial Order Reduction
In applying stateless model checking methods to realistic multithreaded programs, we find that stateless search methods are ineffective in practice, even with dynamic partial order reduction (DPOR) enabled. To solve the inefficiency of stateless runtime model checking, this paper makes two related contributions. The first contribution is a novel and conservative light-weight method for storing ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3498711